/*
 * @(#)Affair.java 创建于 2015-11-28 13:00:41
 *
 * 版权：版权所有 Bsoft 保留所有权力。
 */
package hcn.mch.response;

import com.fasterxml.jackson.annotation.JsonFormat;
import ctd.util.BeanUtils;

import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;

/**
 * 孕产妇预建档-主表(准妈妈信息)
 */
@Entity
@Table(name = "mc_prefiling")
@SuppressWarnings("Serial")
public class McPrefilingVo implements Serializable {

    private String prefilingId;//预建档主键id

    private String mpiId;//患者主索引
    private String tenantId;//租户id
    private String patientName;//姓名
    private String sdNationality;//国籍代码
    private String sdEthnic;//民族
    private String sdIdcardCode;//证件类别代码
    private String idCard;//证件号码
    @JsonFormat(pattern = "yyyy-MM-dd", locale = "zh_CN", timezone = "GMT+8")
    private Date birthDate;//出生日期
    private String age;//年龄
    private String sdDegreeCode;//学历代码
    private String patientPhone;//电话号码
    private String sdOccupationCategory;//职业类别代码
    private String workUnit;//孕妇工作单位名称
    private String nativePlace;//籍贯
    private String sdMarital;//婚姻状况代码
    private String payCode;//费用支付方式

    private String permanentProvince;//户籍地址-省（自治区、直辖市）
    @Transient
    private String permanentProvinceText;//户籍地址-省（自治区、直辖市）
    private String permanentCity;//户籍地址-市（地区、州）
    @Transient
    private String permanentCityText;//户籍地址-市（地区、州）
    private String permanentCounty;//户籍地址-县（区）
    @Transient
    private String permanentCountyText;//户籍地址-县（区）
    private String permanentTown;//户籍地址-乡（镇、街道办事处
    @Transient
    private String permanentTownText;//户籍地址-乡（镇、街道办事处
    private String permanentVillage;//户籍地址-村（街、路、弄等）
    @Transient
    private String permanentVillageText;//户籍地址-村（街、路、弄等）
    private String permanentHouseNumber;//户籍地址-门牌号码

    private String currentProvince;//现住地址-省（自治区、直辖市）
    @Transient
    private String currentProvinceText;//现住地址-省（自治区、直辖市）
    private String currentCity;//现住地址-市（地区、州）
    @Transient
    private String currentCityText;//现住地址-市（地区、州）
    private String currentCounty;//现住地址-县（区）
    @Transient
    private String currentCountyText;//现住地址-县（区）
    private String currentTown;//现住地址-乡（镇、街道办事处
    @Transient
    private String currentTownText;//现住地址-乡（镇、街道办事处
    private String currentVillage;//现住地址-村（街、路、弄等）
    @Transient
    private String currentVillageText;//现住地址-村（街、路、弄等）
    private String currentHouseNumber;//现住地址-门牌号码

    private String postpartumRestProvince;//产后休养地址-省（自治区、直辖市）
    @Transient
    private String postpartumRestProvinceText;//产后休养地址-省（自治区、直辖市）
    private String postpartumRestCity;//产后休养地址-市（地区、州）
    @Transient
    private String postpartumRestCityText;//产后休养地址-市（地区、州）
    private String postpartumRestCounty;//产后休养地址-县（区）
    @Transient
    private String postpartumRestCountyText;//产后休养地址-县（区）
    private String postpartumRestTown;//产后休养地址-乡（镇、街道办事处
    @Transient
    private String postpartumRestTownText;//产后休养地址-乡（镇、街道办事处
    private String postpartumRestVillage;//产后休养地址-村（街、路、弄等）
    @Transient
    private String postpartumRestVillageText;//产后休养地址-村（街、路、弄等）
    private String postpartumRestHouseNumber;//产后休养地址-门牌号码

    private String accountCode;//户口类型：1城镇或非农户籍、2乡村或农籍
    private String householdType;//户籍分类：1户籍；2非户籍
    @JsonFormat(pattern = "yyyy-MM-dd", locale = "zh_CN", timezone = "GMT+8")
    private Date residenceTime;//本地居住时间
    private String relative;//近亲结婚：1 否；2 是
    private String marriageAge;//孕妇结婚年龄
    private String husbandMarriageAge;//丈夫结婚年龄
    private String childbirthFund;//生育基金：1 否；2 是

    private String submitType;//提交状态：1-暂存，2-提交
    private String useStatus;//使用状态：1-未使用，2-已使用

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh_CN", timezone = "GMT+8")
    private Date createTime;//创建时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh_CN", timezone = "GMT+8")
    private Date modifyTime;//修改时间

    private String permanentAddressJson;//准妈妈户籍地址json
    private String currentAddressJson;//准妈妈现住地址json
    private String postpartumRestAddressJson;//准妈妈产后休养地址json

    public String getPermanentProvinceText() {
        return permanentProvinceText;
    }

    public void setPermanentProvinceText(String permanentProvinceText) {
        this.permanentProvinceText = permanentProvinceText;
    }

    public String getPermanentCityText() {
        return permanentCityText;
    }

    public void setPermanentCityText(String permanentCityText) {
        this.permanentCityText = permanentCityText;
    }

    public String getPermanentCountyText() {
        return permanentCountyText;
    }

    public void setPermanentCountyText(String permanentCountyText) {
        this.permanentCountyText = permanentCountyText;
    }

    public String getPermanentTownText() {
        return permanentTownText;
    }

    public void setPermanentTownText(String permanentTownText) {
        this.permanentTownText = permanentTownText;
    }

    public String getPermanentVillageText() {
        return permanentVillageText;
    }

    public void setPermanentVillageText(String permanentVillageText) {
        this.permanentVillageText = permanentVillageText;
    }

    public String getCurrentProvinceText() {
        return currentProvinceText;
    }

    public void setCurrentProvinceText(String currentProvinceText) {
        this.currentProvinceText = currentProvinceText;
    }

    public String getCurrentCityText() {
        return currentCityText;
    }

    public void setCurrentCityText(String currentCityText) {
        this.currentCityText = currentCityText;
    }

    public String getCurrentCountyText() {
        return currentCountyText;
    }

    public void setCurrentCountyText(String currentCountyText) {
        this.currentCountyText = currentCountyText;
    }

    public String getCurrentTownText() {
        return currentTownText;
    }

    public void setCurrentTownText(String currentTownText) {
        this.currentTownText = currentTownText;
    }

    public String getCurrentVillageText() {
        return currentVillageText;
    }

    public void setCurrentVillageText(String currentVillageText) {
        this.currentVillageText = currentVillageText;
    }

    public String getPostpartumRestProvinceText() {
        return postpartumRestProvinceText;
    }

    public void setPostpartumRestProvinceText(String postpartumRestProvinceText) {
        this.postpartumRestProvinceText = postpartumRestProvinceText;
    }

    public String getPostpartumRestCityText() {
        return postpartumRestCityText;
    }

    public void setPostpartumRestCityText(String postpartumRestCityText) {
        this.postpartumRestCityText = postpartumRestCityText;
    }

    public String getPostpartumRestCountyText() {
        return postpartumRestCountyText;
    }

    public void setPostpartumRestCountyText(String postpartumRestCountyText) {
        this.postpartumRestCountyText = postpartumRestCountyText;
    }

    public String getPostpartumRestTownText() {
        return postpartumRestTownText;
    }

    public void setPostpartumRestTownText(String postpartumRestTownText) {
        this.postpartumRestTownText = postpartumRestTownText;
    }

    public String getPostpartumRestVillageText() {
        return postpartumRestVillageText;
    }

    public void setPostpartumRestVillageText(String postpartumRestVillageText) {
        this.postpartumRestVillageText = postpartumRestVillageText;
    }

    @Basic
    @Column(name = "permanent_address_json")
    public String getPermanentAddressJson() {
        return permanentAddressJson;
    }

    public void setPermanentAddressJson(String permanentAddressJson) {
        this.permanentAddressJson = permanentAddressJson;
        BeanUtils.copy(AddressVo.jsonToMap(permanentAddressJson,"permanent"),this);
    }

    @Basic
    @Column(name = "current_address_json")
    public String getCurrentAddressJson() {
        return currentAddressJson;
    }

    public void setCurrentAddressJson(String currentAddressJson) {
        this.currentAddressJson = currentAddressJson;
        BeanUtils.copy(AddressVo.jsonToMap(currentAddressJson,"current"),this);
    }

    @Basic
    @Column(name = "postpartum_rest_address_json")
    public String getPostpartumRestAddressJson() {
        return postpartumRestAddressJson;
    }

    public void setPostpartumRestAddressJson(String postpartumRestAddressJson) {
        this.postpartumRestAddressJson = postpartumRestAddressJson;
        BeanUtils.copy(AddressVo.jsonToMap(postpartumRestAddressJson,"postpartumRest"),this);
    }

    @Id
    @Column(name = "prefiling_id")
    public String getPrefilingId() {
        return prefilingId;
    }

    public void setPrefilingId(String prefilingId) {
        this.prefilingId = prefilingId;
    }


    @Basic
    @Column(name = "sd_nationality")
    public String getSdNationality() {
        return sdNationality;
    }

    public void setSdNationality(String sdNationality) {
        this.sdNationality = sdNationality;
    }

    @Basic
    @Column(name = "sd_ethnic")
    public String getSdEthnic() {
        return sdEthnic;
    }

    public void setSdEthnic(String sdEthnic) {
        this.sdEthnic = sdEthnic;
    }

    @Basic
    @Column(name = "birth_date")
    public Date getBirthDate() {
        return birthDate;
    }

    public void setBirthDate(Date birthDate) {
        this.birthDate = birthDate;
    }

    @Basic
    @Column(name = "age")
    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    @Basic
    @Column(name = "sd_degree_code")
    public String getSdDegreeCode() {
        return sdDegreeCode;
    }

    public void setSdDegreeCode(String sdDegreeCode) {
        this.sdDegreeCode = sdDegreeCode;
    }

    @Basic
    @Column(name = "sd_occupation_category")
    public String getSdOccupationCategory() {
        return sdOccupationCategory;
    }

    public void setSdOccupationCategory(String sdOccupationCategory) {
        this.sdOccupationCategory = sdOccupationCategory;
    }

    @Basic
    @Column(name = "work_unit")
    public String getWorkUnit() {
        return workUnit;
    }

    public void setWorkUnit(String workUnit) {
        this.workUnit = workUnit;
    }

    @Basic
    @Column(name = "native_place")
    public String getNativePlace() {
        return nativePlace;
    }

    public void setNativePlace(String nativePlace) {
        this.nativePlace = nativePlace;
    }

    @Basic
    @Column(name = "sd_marital")
    public String getSdMarital() {
        return sdMarital;
    }

    public void setSdMarital(String sdMarital) {
        this.sdMarital = sdMarital;
    }

    @Basic
    @Column(name = "pay_code")
    public String getPayCode() {
        return payCode;
    }

    public void setPayCode(String payCode) {
        this.payCode = payCode;
    }

    @Basic
    @Column(name = "permanent_province")
    public String getPermanentProvince() {
        return permanentProvince;
    }

    public void setPermanentProvince(String permanentProvince) {
        this.permanentProvince = permanentProvince;
    }

    @Basic
    @Column(name = "permanent_city")
    public String getPermanentCity() {
        return permanentCity;
    }

    public void setPermanentCity(String permanentCity) {
        this.permanentCity = permanentCity;
    }

    @Basic
    @Column(name = "permanent_county")
    public String getPermanentCounty() {
        return permanentCounty;
    }

    public void setPermanentCounty(String permanentCounty) {
        this.permanentCounty = permanentCounty;
    }

    @Basic
    @Column(name = "permanent_town")
    public String getPermanentTown() {
        return permanentTown;
    }

    public void setPermanentTown(String permanentTown) {
        this.permanentTown = permanentTown;
    }

    @Basic
    @Column(name = "permanent_village")
    public String getPermanentVillage() {
        return permanentVillage;
    }

    public void setPermanentVillage(String permanentVillage) {
        this.permanentVillage = permanentVillage;
    }

    @Basic
    @Column(name = "permanent_house_number")
    public String getPermanentHouseNumber() {
        return permanentHouseNumber;
    }

    public void setPermanentHouseNumber(String permanentHouseNumber) {
        this.permanentHouseNumber = permanentHouseNumber;
    }

    @Basic
    @Column(name = "current_province")
    public String getCurrentProvince() {
        return currentProvince;
    }

    public void setCurrentProvince(String currentProvince) {
        this.currentProvince = currentProvince;
    }

    @Basic
    @Column(name = "current_city")
    public String getCurrentCity() {
        return currentCity;
    }

    public void setCurrentCity(String currentCity) {
        this.currentCity = currentCity;
    }

    @Basic
    @Column(name = "current_county")
    public String getCurrentCounty() {
        return currentCounty;
    }

    public void setCurrentCounty(String currentCounty) {
        this.currentCounty = currentCounty;
    }

    @Basic
    @Column(name = "current_town")
    public String getCurrentTown() {
        return currentTown;
    }

    public void setCurrentTown(String currentTown) {
        this.currentTown = currentTown;
    }

    @Basic
    @Column(name = "current_village")
    public String getCurrentVillage() {
        return currentVillage;
    }

    public void setCurrentVillage(String currentVillage) {
        this.currentVillage = currentVillage;
    }

    @Basic
    @Column(name = "current_house_number")
    public String getCurrentHouseNumber() {
        return currentHouseNumber;
    }

    public void setCurrentHouseNumber(String currentHouseNumber) {
        this.currentHouseNumber = currentHouseNumber;
    }

    @Basic
    @Column(name = "postpartum_rest_province")
    public String getPostpartumRestProvince() {
        return postpartumRestProvince;
    }

    public void setPostpartumRestProvince(String postpartumRestProvince) {
        this.postpartumRestProvince = postpartumRestProvince;
    }

    @Basic
    @Column(name = "postpartum_rest_city")
    public String getPostpartumRestCity() {
        return postpartumRestCity;
    }

    public void setPostpartumRestCity(String postpartumRestCity) {
        this.postpartumRestCity = postpartumRestCity;
    }

    @Basic
    @Column(name = "postpartum_rest_county")
    public String getPostpartumRestCounty() {
        return postpartumRestCounty;
    }

    public void setPostpartumRestCounty(String postpartumRestCounty) {
        this.postpartumRestCounty = postpartumRestCounty;
    }

    @Basic
    @Column(name = "postpartum_rest_town")
    public String getPostpartumRestTown() {
        return postpartumRestTown;
    }

    public void setPostpartumRestTown(String postpartumRestTown) {
        this.postpartumRestTown = postpartumRestTown;
    }

    @Basic
    @Column(name = "postpartum_rest_village")
    public String getPostpartumRestVillage() {
        return postpartumRestVillage;
    }

    public void setPostpartumRestVillage(String postpartumRestVillage) {
        this.postpartumRestVillage = postpartumRestVillage;
    }

    @Basic
    @Column(name = "postpartum_rest_house_number")
    public String getPostpartumRestHouseNumber() {
        return postpartumRestHouseNumber;
    }

    public void setPostpartumRestHouseNumber(String postpartumRestHouseNumber) {
        this.postpartumRestHouseNumber = postpartumRestHouseNumber;
    }

    @Basic
    @Column(name = "account_code")
    public String getAccountCode() {
        return accountCode;
    }

    public void setAccountCode(String accountCode) {
        this.accountCode = accountCode;
    }

    @Basic
    @Column(name = "household_type")
    public String getHouseholdType() {
        return householdType;
    }

    public void setHouseholdType(String householdType) {
        this.householdType = householdType;
    }

    @Basic
    @Column(name = "residence_time")
    public Date getResidenceTime() {
        return residenceTime;
    }

    public void setResidenceTime(Date residenceTime) {
        this.residenceTime = residenceTime;
    }

    @Basic
    @Column(name = "relative")
    public String getRelative() {
        return relative;
    }

    public void setRelative(String relative) {
        this.relative = relative;
    }

    @Basic
    @Column(name = "marriage_age")
    public String getMarriageAge() {
        return marriageAge;
    }

    public void setMarriageAge(String marriageAge) {
        this.marriageAge = marriageAge;
    }

    @Basic
    @Column(name = "husband_marriage_age")
    public String getHusbandMarriageAge() {
        return husbandMarriageAge;
    }

    public void setHusbandMarriageAge(String husbandMarriageAge) {
        this.husbandMarriageAge = husbandMarriageAge;
    }

    @Basic
    @Column(name = "childbirth_fund")
    public String getChildbirthFund() {
        return childbirthFund;
    }

    public void setChildbirthFund(String childbirthFund) {
        this.childbirthFund = childbirthFund;
    }

    @Basic
    @Column(name = "submit_type")
    public String getSubmitType() {
        return submitType;
    }

    public void setSubmitType(String submitType) {
        this.submitType = submitType;
    }

    @Basic
    @Column(name = "use_status")
    public String getUseStatus() {
        return useStatus;
    }

    public void setUseStatus(String useStatus) {
        this.useStatus = useStatus;
    }

    @Basic
    @Column(name = "mpi_id")
    public String getMpiId() {
        return mpiId;
    }

    public void setMpiId(String mpiId) {
        this.mpiId = mpiId;
    }
    @Basic
    @Column(name = "tenant_id")
    public String getTenantId() {
        return tenantId;
    }

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }
    @Basic
    @Column(name = "sd_idcard_code")
    public String getSdIdcardCode() {
        return sdIdcardCode;
    }

    public void setSdIdcardCode(String sdIdcardCode) {
        this.sdIdcardCode = sdIdcardCode;
    }
    @Basic
    @Column(name = "id_card")
    public String getIdCard() {
        return idCard;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }
    @Basic
    @Column(name = "patient_phone")
    public String getPatientPhone() {
        return patientPhone;
    }

    public void setPatientPhone(String patientPhone) {
        this.patientPhone = patientPhone;
    }
    @Basic
    @Column(name = "patient_name")
    public String getPatientName() {
        return patientName;
    }

    public void setPatientName(String patientName) {
        this.patientName = patientName;
    }
    @Basic
    @Column(name = "create_time")
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date creatTime) {
        this.createTime = creatTime;
    }

    @Basic
    @Column(name = "modify_time")
    public Date getModifyTime() {
        return modifyTime;
    }

    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }





}
